<!--
    THIS EXAMPLE WAS DOWNLOADED FROM https://echarts.apache.org/examples/zh/editor.html?c=pie-doughnut
-->
<!DOCTYPE html>
<html style="height: 100%">
    <head>
        <meta charset="utf-8">
    </head>
    <body style="height: 100%; margin: 0">
        <div id="container" style="height: 100%"></div>

        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
        <!-- Uncomment this line if you want to dataTool extension
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/extension/dataTool.min.js"></script>
        -->
        <!-- Uncomment this line if you want to use gl extension
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl@2/dist/echarts-gl.min.js"></script>
        -->
        <!-- Uncomment this line if you want to echarts-stat extension
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat@latest/dist/ecStat.min.js"></script>
        -->
        <!-- Uncomment this line if you want to use map
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/map/js/china.js"></script>
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/map/js/world.js"></script>
        -->
        <!-- Uncomment these two lines if you want to use bmap extension
        <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=<Your Key Here>"></script>
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts@5/dist/extension/bmap.min.js"></script>
        -->

        <script type="text/javascript">
            var base = +new Date(2014, 9, 3);
            var oneDay = 24 * 3600 * 1000;
            var date = [];

            var data = [{value: Math.random() * 150, name: '动态数据'}];
            var now = new Date(base);

            function addData(shift) {
                now = [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/');
                date.push(now);
                // {value: 1048, name: '搜索引擎'},
                let randomNum = Math.floor(Math.random() * (100 - 10)) + 10;
                data.push({value: randomNum, name: `动态数据(占比：${randomNum}%)`});

                if (shift) {
                    date.shift();
                    data.shift();
                };

                now = new Date(+new Date(now) + oneDay);
                console.log("🚀 ~ file: pie-doughnut.html ~ line 46 ~ addData ~ data", data)
            };

            for (var i = 1; i < 6; i++) {
                addData();
            };

            var dom = document.getElementById("container");
            var myChart = echarts.init(dom);
            var app = {};

            var option;



            option = {
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    top: '5%',
                    left: 'center'
                },
                series: [
                    {
                        name: '访问来源',
                        type: 'pie',
                        radius: ['40%', '70%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            label: {
                                show: true,
                                fontSize: '40',
                                fontWeight: 'bold'
                            }
                        },
                        labelLine: {
                            show: false
                        },
                        data: [
                            {value: 41, name: "动态数据(占比：41%)"},
                            {value: 87, name: "动态数据(占比：87%)"},
                            {value: 67, name: "动态数据(占比：67%)"},
                            {value: 84, name: "动态数据(占比：84%)"},
                            {value: 55, name: "动态数据(占比：55%)"},
                            {value: 43, name: "动态数据(占比：43%)"}
                        ]
                    }
                ]
            };

            if (option && typeof option === 'object') {
                myChart.setOption(option);
            }

            setInterval(function () {
                addData(true);
                myChart.setOption({
                    series: [{
                        data: data
                    }]
                });
            }, 5000);

        </script>
    </body>
</html>
    